home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Resource Library: Multimedia
/
Resource Library: Multimedia.iso
/
_archive
/
utils
/
multimed
/
tcl-dp
/
tcl-dp-v.rea
next >
Wrap
Text File
|
1993-03-25
|
5KB
|
125 lines
Tcl Distributed Programming (Tcl-DP)
(Version 1.0a; March 11, 1993)
Lawrence A. Rowe, Brian Smith, and Steve Yen
Computer Science Division-EECS
University of California at Berkeley
This directory contains a public domain extension to Tcl/Tk
called Tcl Distributed Programming (Tcl-DP). Tcl-DP adds TCP and
IP connection management, remote procedure call (RPC), and
distributed object protocols to Tcl/Tk.
BACKGROUND
A C interface to the RPC primitives is also provided. Unlike the
"send" command of Tk, Tcl-DP does not require that Tcl/Tk processes
that want to communicate must share an X server because Tcl-DP is
built upon TCP/IP.
Tcl stands for the Tool Command Language, a public domain embedded
scripting language package. Tk is an X windows interface toolkit and
widget library implemented by a collection of new commands added
to Tcl. Information about Tcl/Tk is available by anonymous ftp from
sprite.berkeley.edu [128.32.150.27]. Tcl-DP was developed for
Tcl 6.5 and Tk 3.0.
This distribution contains the source code for Tcl-DP, man pages
that describe the commands, and several examples that illustrate
how to use Tcl-DP to build simple distributed applications.
Tcl-DP is available by anonymous ftp from toe.berkeley.edu
[128.32.149.117].
The Makefile creates two libraries, named libtnetwork.a and libtutil.a,
that can be linked with your application programs. The library
libtnetwork.a contains the Tcl-DP extension, and the library
libtutil.a contains basic utilities upon which Tcl-DP depends.
To use Tcl-DP, you must initialize your Tcl interpreters with the
dpInit C procedure (see network.h, and the example in main.c).
After initialization, all distributed programming can be done
with Tcl commands.
Tcl/Tk supports on-demand autoloading of Tcl/Tk procedures. Tcl-DP
adds several autoloading Tcl/Tk procedures. They are located in the
library subdirectory. These Tcl/Tk scripts must be copied to the
directory that contains your existing autoloading Tcl/Tk scripts,
and they must be listed in the tclIndex file in that directory.
In the examples subdirectory, several sample applications are supplied
that use Tcl-DP. As you can see from the examples, the distributed
programming mechanisms of Tcl-DP are very simple. An RPC command,
for example, sends a Tcl command to a remote process, which evaluates
the command in the destination Tcl interpreter and returns the result
as the value of the RPC command.
A dpwish program (i.e., a wish with Tcl-DP extensions) is also supplied.
To exit dpwish, you should use the "exit" command, not the break or
interrupt keys (i.e., Ctrl-C, Ctrl-D) as this allows Tcl-DP to clean
up dangling network connections. A solution to the graceful shutdown
problem that we use in our Tcl-DP applications is to catch the
break/kill/interrupt UNIX signals and eval the "exit" command before
halting the application.
COMPILING/USING TCL-DP
To compile the dpwish program:
+) If you do not already have Tcl 6.5 and Tk 3.0, get a copy and follow
the instructions to build the system. Tcl-DP does not work with earlier
versions of Tcl/Tk.
+) In the Tcl-DP directory (i.e., where this README resides), follow
the configuration instructions at the start of the Makefile. For
example, you will need to edit the Makefile variables TCL_INC,
TCL_LIB, ....
+) To make the dpwish program, type...
make dpwish
This will make the libraries libtnetwork.a and libtutil.a and the
dpwish program. If you only need the libtnetwork.a and the
libtutil.a libraries, you can type...
make libtnetwork.a
make libtutil.a
To install the autoloading Tcl/Tk scripts of Tcl-DP:
+) Copy all Tcl/Tk scripts from the Tcl-DP/library directory to the
directory where Tcl/Tk stores your existing autoloading Tcl/Tk
scripts. The environment variable TCL_LIBRARY (and the Tcl 6.5
Makefile) should specify where this directory is located.
+) Update the tclIndex file in that TCL_LIBRARY directory to
reflect the Tcl/Tk scripts that you copied in the last step. You
can do this manually, or you can have Tcl/Tk automatically update
the tclIndex file with its "auto_mkindex" command.
To learn how to use Tcl-DP:
+) Read the README file in the examples subdirectory and play with
the example applications.
+) Read the Tcl-DP man page (Tcl-DP.l), and the other man pages
in the man subdirectories.
To report bugs, bug fixes, descriptions of interesting Tcl-DP
applications, and suggested improvements:
+) Send email to tcl-dp@roger-rabbit.CS.Berkeley.EDU or
tcl-dp-bugs@roger-rabbit.CS.Berkeley.EDU
or
+) Post an article in the comp.lang.tcl newsgroup.
We extend our thanks to everyone who helped to create, debug, and
distribute this software, including the following people:
John Ousterhout, creator of Tcl/Tk;
Pekka Nikander, creator of tcpConnect;
Tim MacKenzie, creator of tclRawTCP;